<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // 定义一个父类
    class Person {
      // 构造器函数,当类被实例化的时候,实例化对象会直接调用原型对象上的constructor方法
      constructor(name, age) {
        this.name = name;
        this.age = age
      }
      // 也可以不写在constructor中 直接写在实例化对象上的属性 值无法被修改
      sex = '男'
      // 直接给实例化对象上添加方法
      go() {
        console.log('跑的很快');
      }
      // 静态属性
      static go() {
        console.log('跑的很慢');
      }
    }
    class Student extends Person {
      constructor(name, age, sex) {
        super(name, age, sex)
      }
    }
    // 如果子类没有constructor的话,子类的传参直接给父类
    // 如果子类有constructor的话，则子类的传参是传递给子类的constructor
    Person.go()
    let newProson = new Person('罗飞', 24)
    let newStudent = new Student('王远', 24, '不明')
    console.log(newStudent, 'newStudent');
    newProson.go()
    console.log(newProson);
  </script>
</body>

</html>